// filename: MessagePumpForUI.h
// author: enic
// date: 2015-10-09

#pragma once

#include "MessagePumpWin.h"


class MessagePumpForUI : public MessagePumpWin
{
public:
	MessagePumpForUI();
	virtual ~MessagePumpForUI();

	virtual void DoRunLoop();

	void InitMessageWnd();

private:
	bool ProcessNextWindowsMessage();
	bool ProcessMessageHelper(const MSG& msg);
	bool ProcessPumpReplacementMessage();

public:
	static LRESULT CALLBACK __MessageWndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam);

private:
	ATOM m_atom;
	HWND m_hMessageWnd;
};